/// 日志工具类
/// 
/// 封装Logger库，提供统一的日志输出接口
/// 支持不同级别的日志：debug、info、warning、error
/// 
/// 作者: Fluttert Team
/// 日期: 2024

import 'package:logger/logger.dart';

/// 日志工具类
/// 
/// 提供静态方法输出不同级别的日志
class LoggerUtil {
  /// Logger实例
  /// 
  /// 配置了美观的打印格式，支持颜色和emoji
  static final Logger _logger = Logger(
    printer: PrettyPrinter(
      methodCount: 0, // 不显示方法调用堆栈
      errorMethodCount: 5, // 错误时显示5层堆栈
      lineLength: 50, // 日志行长度
      colors: true, // 启用颜色
      printEmojis: true, // 启用emoji
    ),
  );

  /// 输出Debug级别日志
  /// 
  /// [message] 日志消息
  static void d(String message) {
    _logger.d(message);
  }

  /// 输出Info级别日志
  /// 
  /// [message] 日志消息
  static void i(String message) {
    _logger.i(message);
  }

  /// 输出Warning级别日志
  /// 
  /// [message] 日志消息
  static void w(String message) {
    _logger.w(message);
  }

  /// 输出Error级别日志
  /// 
  /// [message] 日志消息
  /// [error] 错误对象（可选）
  /// [stackTrace] 堆栈跟踪（可选）
  static void e(String message, [Object? error, StackTrace? stackTrace]) {
    _logger.e(message, error: error, stackTrace: stackTrace);
  }
}

